Synchronization of appliances to a schedule of a user

ABSTRACT

A method and system are provided that synchronize one or more appliances to one or more users&#39; schedules. Sensor data may be obtained from a sensor. The sensor data may indicate a state of a first appliance. A user location may be determined. A first characteristic of the first appliance may be obtained. Based upon the user location and the sensor data, a schedule indicating when the user will desire a state change of the first appliance may be determined. A feature of the first appliance may be dynamically modified to cause the first appliance to operate according to the schedule. A notice may be sent to the user that contains information about the first appliance.

BACKGROUND

Modern appliances may have some synchronization features incorporatedinto them. For example, a dryer typically requires substantially moretime to dry clothes than a washer does to wash the same amount ofclothes. Damp clothes left unattended after being washed in the washermay gain a foul odor. Some modern washer and dryer appliances maysynchronize one of the appliances with the other. Appliances may beconnected and communicate over a network.

A goal of many appliance management systems is to optimize energy usagebased on, for example, patterns of consumption, time of day, and userpresence. For example, HVAC systems may be adaptive in response toenvironmental conditions in order to decrease the amount of energyconsumed. Such systems have been described both for commercial andresidential applications. A user-centric appliance management system,that personalizes the actions of one or more appliances based on one ormore users irrespective of or in addition to energy consumption may bedesirable.

BRIEF SUMMARY

According to an implementation of the disclosed subject matter, sensordata may be obtained from a sensor. The sensor data may indicate a stateof a first appliance. A user location may be determined. A firstcharacteristic of the first appliance may be obtained. Based upon theuser location and the sensor data, a schedule indicating when the userwill desire a state change of the first appliance may be determined. Afeature of the first appliance may be dynamically modified to cause thefirst appliance to operate according to the schedule. A notice may besent to the user that contains information about the first appliance.

In an implementation, a system is provided that includes a centralcontroller. The central controller may include a processor and computerreadable storage. The processor may be configured to obtain sensor datafrom a sensor. The sensor data may indicate a state of a firstappliance. The processor may obtain a characteristic of the firstappliance. A user location may be determined. Based upon the userlocation and the sensor data, the processor may determine a scheduleindicating when the user will desire a state change of the firstappliance and dynamically modify a feature of the first appliance tocause the first appliance to operate according to the schedule.

Additional features, advantages, and implementations of the disclosedsubject matter may be set forth or apparent from consideration of thefollowing detailed description, drawings, and claims. Moreover, it is tobe understood that both the foregoing summary and the following detaileddescription are examples and are intended to provide further explanationwithout limiting the scope of the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are included to provide a furtherunderstanding of the disclosed subject matter, are incorporated in andconstitute a part of this specification. The drawings also illustrateimplementations of the disclosed subject matter and together with thedetailed description serve to explain the principles of implementationsof the disclosed subject matter. No attempt is made to show structuraldetails in more detail than may be necessary for a fundamentalunderstanding of the disclosed subject matter and various ways in whichit may be practiced.

FIG. 1 shows a computer according to an implementation of the disclosedsubject matter.

FIG. 2 shows a network configuration according to an implementation ofthe disclosed subject matter.

FIG. 3 shows an example process flow for personalizing performance ofone or more appliances to the schedule of a user according to animplementation of the disclosed subject matter.

FIG. 4 shows an example of a central device according to implementationsdisclosed herein.

DETAILED DESCRIPTION

Many systems are known to optimize appliances for the purpose ofreducing energy consumption or to save on costs incurred from energyconsumption by appliances. For example, systems exist that synchronize awasher and a dryer to the same cycle and transmit a message to a userupon completion of both of the appliances. However, these systems do notconsider the schedule of a user, and do not synchronize an appliance tothe schedule of a user. In some instances, it may require more energy tosynchronize the appliance to the user's schedule; thus known systems mayavoid considering a particular user's schedule when adjusting behaviorof an appliance to optimize energy usage.

According to an implementation, a technique for personalizing an actionof an appliance is provided. For example, a washer may be synchronizedto a dryer based on the schedule of the user and the synchronization ofthe appliances may require more energy to be consumed. Typically, awasher will finish before a dryer if both are begun at the same time.Under existing systems, if a user does not return to the house untilwell after the customary completion time for the washer and dryer, thewasher and dryer will either cease activity upon completion of theirrespective cycles or tumble the clothes at a specified interval untilthe user unloads the clothes. As disclosed herein, it may be moredesirable to have the washer and dryer cycles more tuned to the scheduleof the user. In the current example, it may mean that the lengths of thewasher and/or dryer cycles are increased to correspond to the nextexpected arrival of the user. Thus, the appliance is made responsive toa user's schedule and its behavior may be dynamically adjusted based onit.

Implementations of the presently disclosed subject matter may beimplemented in and used with a variety of component and networkarchitectures. FIG. 1 is an example computer 20 suitable forimplementing implementations of the presently disclosed subject matter.The computer 20 includes a bus 21 which interconnects major componentsof the computer 20, such as a central processor 24, a memory 27(typically RAM, but which may also include ROM, flash RAM, or the like),an input/output controller 28, a user display 22, such as a displayscreen via a display adapter, a user input interface 26, which mayinclude one or more controllers and associated user input devices suchas a keyboard, mouse, and the like, and may be closely coupled to theI/O controller 28, fixed storage 23, such as a hard drive, flashstorage, Fibre Channel network, SAN device, SCSI device, and the like,and a removable media component 25 operative to control and receive anoptical disk, flash drive, and the like.

The bus 21 allows data communication between the central processor 24and the memory 27, which may include read-only memory (ROM) or flashmemory (neither shown), and random access memory (RAM) (not shown), aspreviously noted. The RAM is generally the main memory into which theoperating system and application programs are loaded. The ROM or flashmemory can contain, among other code, the Basic Input-Output system(BIOS) which controls basic hardware operation such as the interactionwith peripheral components. Applications resident with the computer 20are generally stored on and accessed via a computer readable medium,such as a hard disk drive (e.g., fixed storage 23), an optical drive,floppy disk, or other storage medium 25.

The fixed storage 23 may be integral with the computer 20 or may beseparate and accessed through other interfaces. A network interface 29may provide a direct connection to a remote server via a telephone link,to the Internet via an internet service provider (ISP), or a directconnection to a remote server via a direct network link to the Internetvia a POP (point of presence) or other technique. The network interface29 may provide such connection using wireless techniques, includingdigital cellular telephone connection, Cellular Digital Packet Data(CDPD) connection, digital satellite data connection or the like. Forexample, the network interface 29 may allow the computer to communicatewith other computers via one or more local, wide-area, or othernetworks, as shown in FIG. 2.

Many other devices or components (not shown) may be connected in asimilar manner (e.g., document scanners, digital cameras and so on).Conversely, all of the components shown in FIG. 1 need not be present topractice the present disclosure. The components can be interconnected indifferent ways from that shown. The operation of a computer such as thatshown in FIG. 1 is readily known in the art and is not discussed indetail in this application. Code to implement the present disclosure canbe stored in computer-readable storage media such as one or more of thememory 27, fixed storage 23, removable media 25, or on a remote storagelocation.

FIG. 2 shows an example network arrangement according to animplementation of the disclosed subject matter. One or more clients 10,11, such as local computers, smart phones, tablet computing devices, andthe like may connect to other devices via one or more networks 7. Thenetwork may be a local network, wide-area network, the Internet, or anyother suitable communication network or networks, and may be implementedon any suitable platform including wired and/or wireless networks. Theclients may communicate with one or more servers 13 and/or databases 15.The devices may be directly accessible by the clients 10, 11, or one ormore other devices may provide intermediary access such as where aserver 13 provides access to resources stored in a database 15. Theclients 10, 11 also may access remote platforms 17 or services providedby remote platforms 17 such as cloud computing arrangements andservices. The remote platform 17 may include one or more servers 13and/or databases 15.

More generally, various implementations of the presently disclosedsubject matter may include or be embodied in the form ofcomputer-implemented processes and apparatuses for practicing thoseprocesses. Implementations also may be embodied in the form of acomputer program product having computer program code containinginstructions embodied in non-transitory and/or tangible media, such asfloppy diskettes, CD-ROMs, hard drives, USB (universal serial bus)drives, or any other machine readable storage medium, wherein, when thecomputer program code is loaded into and executed by a computer, thecomputer becomes an apparatus for practicing implementations of thedisclosed subject matter. Implementations also may be embodied in theform of computer program code, for example, whether stored in a storagemedium, loaded into and/or executed by a computer, or transmitted oversome transmission medium, such as over electrical wiring or cabling,through fiber optics, or via electromagnetic radiation, wherein when thecomputer program code is loaded into and executed by a computer, thecomputer becomes an apparatus for practicing implementations of thedisclosed subject matter. When implemented on a general-purposemicroprocessor, the computer program code segments configure themicroprocessor to create specific logic circuits. In someconfigurations, a set of computer-readable instructions stored on acomputer-readable storage medium may be implemented by a general-purposeprocessor, which may transform the general-purpose processor or a devicecontaining the general-purpose processor into a special-purpose deviceconfigured to implement or carry out the instructions. Implementationsmay be implemented using hardware that may include a processor, such asa general purpose microprocessor and/or an Application SpecificIntegrated Circuit (ASIC) that embodies all or part of the techniquesaccording to implementations of the disclosed subject matter in hardwareand/or firmware. The processor may be coupled to memory, such as RAM,ROM, flash memory, a hard disk or any other device capable of storingelectronic information. The memory may store instructions adapted to beexecuted by the processor to perform the techniques according toimplementations of the disclosed subject matter.

Data may be received from or provided to an appliance. For example, theappliance may directly receive information regarding a user's scheduleso that it may coordinate its function(s) with the user's schedule.Alternatively, the appliance may receive direction as to how it shouldprogress through one or more cycles while a separate device coordinatesthe appliance with the user's schedule. Data received from the appliancemay be utilized to estimate a completion time for a cycle. Data aboutthe appliance may include, for example, the manufacturer, model, year,history of the appliance, and resource consumption. Data about theappliance may also be crowd-sourced. For example, other users'performance data for the same appliance may be utilized to provide animproved estimation of appliance performance, including a cyclecompletion time. The crowd sourced data may be used to determine how anappliance performs over time. Other information that may be utilizedincludes the time of day, price of a resource, date information,geographic location, data about other appliances, and data from otherappliances. Data may also be obtained from one or more sensors,including those associated with the appliance.

FIG. 3 shows an example process flow for synchronizing an appliance to auser's schedule. An appliance may provide data from a variety of sensorsto an external device (such as a server or computer). It may receivedata regarding a user's schedule and utilize that information to adjusta cycle. It may also receive data from other appliances and provide datato other appliances so that it may coordinate its function with otherappliances. In an implementation, sensor data may be obtained from asensor at 310. The sensor data may indicate a state of a firstappliance, such as current settings of the appliance, a current phase ofa cycle the appliance is running, or the like. A sensor may be anydevice that measures a property of the appliance. For example, a sensormay be a hygrometer, a barometer, a thermometer, an accelerometer, anamp meter, a volt meter, a water meter, an air flow sensor, an airpurity sensor or other gas composition analysis tool (e.g., a sensorthat measures CO₂, O₂, or CO), a water purity sensor (e.g., a sensorthat determines PPM of a particle or particulate or resistance), atimer, a volume sensor, a tachometer, a speedometer, a fuel consumptionmeter, a watt meter, a clock, and a phase meter. An analysis tool, suchas high performance liquid chromatography (“HPLC”) or X-ray diffractionmay be a sensor according to implementations disclosed herein. A sensormay be physically associated with the appliance or it may be external tothe appliance. For example, many appliance manufacturers place a varietyof sensors in their appliances. In some configurations, sensor data areprovided to the appliance by a separate device or the appliance acquiressensor data over a network. The sensor data may be transmitted to adevice or location that is external to the appliance such as anotherappliance, to the appliance itself, or a computing device. Sensor datamay be transmitted using a network or via other conventional methods ofcommunication.

An appliance or a resource (e.g., gas, water, power) into which theappliance connects may be retrofitted with one or more sensors. Forexample, a voltage and watt meter connected to a transceiver may beintegrated into a wall outlet into which the appliance is connected.When the appliance is activated, the sensor may detect powerfluctuations and may infer, based on the pattern of power usage, thatthe appliance is active. In some cases, the sensor may generate a map orpattern of power fluctuations and delineate a cycle based on a patternof power consumption. As another example, a hygrometer may be integratedinto the exhaust pipe for a dryer. The hygrometer may determine when aload of clothes in the dryer is sufficiently dry and provide the data toone or more appliances or to a remote device such as the central devicedescribed in detail below. In another example, one or more gas metersmay be disposed between the gas connection to a residence and a gasstove, a gas furnace, a gas dryer, or a gas water heater. A waterpressure gauge and flow meter may be used to determine a pattern ofwater consumption and rate thereof for a variety of appliances as wellas household fixtures such as a shower, bath, sink, or a toilet. Waterconsumption by a sprinkler or sprinkler system may also be monitoredusing a similar technique.

A sensor may also receive data provided by the user. For example, a usermay notify a power sensor in an outlet to which a washer is connectedthat a washer cycle is about to begin. The user may provide generalinformation to the sensor, such as the size of the load, temperature ofthe wash selected, or wash cycle setting to allow the sensor toassociate the pattern of power consumption with a particular cycle. Theinput the user provides may also be associated with more than onesensor. For example, a water meter and a gas meter may also be informedthat the washer is about to begin a cycle with the user-identifiedsettings. Alternatively or in addition, data provided by the user and/ordata provided by the appliance or a sensor associated with the appliancemay be received by a central system, such as a home networking system,from the user and/or the appliance. This data may be used to scheduleoperation of the appliance, as described in further detail herein.

Returning to FIG. 3, a user's location may be determined at 320, forexample, by a GPS device, smart phone or other mobile computing device,or the like. For example, the coordinates of a GPS transceiver be usedas an assumed location of the user. As another example, a user'slocation may be determined based on a triangulation of cellular radiotowers to which the user's phone has connected, or it may be estimatedbased on a user's routine. For example, a user may have a fairlyconsistent arrival time to her workplace and return to her house thatmay allow a reasonably accurate estimation of the user's location andestimated arrival time at either location.

A characteristic of the first appliance may be obtained at 330. Thecharacteristic may be, for example, a model year, a power consumption, awiring schematic, a water consumption, a gas consumption, a modelnumber, a manufacturer, a history of the performance of the appliance,and a history of the performance of other appliances that match theappliance. Characteristics as disclosed herein may include crowd-sourcedinformation such as the collective performance of an appliance overtime, collective power usage of an appliance, or collective water usageof an appliance. For example, a number of users may own and operate thesame appliance. Information may be collected from each of the users andit may be used to generate a profile for an appliance, which then may beupdated or maintained over the lifetime of an appliance. For example, ifa dishwasher has a tendency to require more time to complete a cycleafter it is five years old, the profile may provide such acharacteristic to a given user's appliance to improve the estimation ofa completion time for a dishwashing cycle. Deviations from the profilemay be used to alert the user that an appliance may be in need ofrepair. In some instances, a malfunctioning part or component may beidentified based on the information. One or more appliances may providedata on a characteristic, for example, by directly communicating thedata to a cloud-based server over a network or by sending theinformation to a device that is connected to a database that maintainsthe characteristics data.

Based upon a user location and the sensor data, a schedule indicatingwhen the user will desire a state change of the first appliance may bedetermined at 340. A state change may refer to the next interactionbetween a user and an appliance, completion of a cycle, or completion ofa phase of a cycle. A schedule may be determined, for example, byestimating a time for the user to return to a location at which theappliance is located. A schedule may be determined by a user's calendar.For example, many users maintain an online schedule for office orpersonal appointments. The schedule may indicate, for example, that auser may not return home for at least one hour due to an appointment atthe user's workplace and the travel time to commute from the user'soffice to the house. A schedule may be determined by utilizing a GPStransceiver embedded in a device the user carries such as a smartphone.The GPS transceiver may send coordinates of the device in real time. Theprovided coordinates may be used to approximate the user's location anddetermine a schedule of the user such as the user's expected time ofarrival back to her home.

The sensor data, crowd-sourced data, characteristics of an appliance,and/or the user's schedule may be used to dynamically modify a featureof the appliance at 350. A feature may refer to, for example, an endtime, a start time, a cycle start time, a cycle end time, a powerconsumption, a fan speed, a spin speed, a temperature, a pressure, anacceleration, a velocity, a gas consumption, a gas flow rate, and awater flow rate. Typically, an appliance has a cycle to complete anaction. For example, a dishwasher may progress through the followingphases: rinse, detergent/wash, second rinse, and drying. A washer mayprogress through the following phases: rinse, detergent/wash, secondrinse, and spin to remove excess water. Thus, an appliance may progressthrough a series of steps or phases to complete an action, such as washdishes or wash clothes.

As an appliance progresses through a series of phases, various features,such as temperature or spin speed, can be modified or, in some cases,programmed by a user. According to an implementation, a feature of afirst appliance may be dynamically modified at 350. For example, a usermay begin to wash a load of clothes and then take a walk in a nearbypark. The washer may estimate the time for completion of the cycle basedupon crowd-sourced data for similar washers of a similar age running thesame cycle with the same sized load of clothes. Data may be provided tothe washer, one or more other appliances, or a computing device at thestart of every cycle or updated in real time. Information about theuser's location may also be provided and used to determine that, basedon the user's location, the user will not return to the house in time tointeract with the washer if it completes the cycle according to themanufacturer's settings. As previously described, the data may beprovided to a central device such as a home automation system, whichthen performs the determination of which feature(s) of an appliance maybe modified to align the appliance's behavior to a user's schedule.

Continuing the previous example, the washer may be instructed to slowdown progression through the cycle or to conduct additional wash, rinse,or tumbling phases of the cycle, for example, to lengthen the cyclecompletion time according to the schedule of the user. For example, theschedule of the user may be used to determine an expected arrival timeof the user and adjust an action of an appliance to finish the action atthat time or thereabout. Because the washer is asked to perform anadditional action, more resources, such as energy, gas or water, may beutilized. A feature of an appliance may be modified according toimplementations disclosed herein and that modification may also resultin the appliance operating in an energy efficient manner. Thus, anappliance may be synchronized to the schedule of a user even if it is tothe detriment of an energy consideration.

Implementations disclosed herein are adaptive. For example, if a userspontaneously decides after an appointment to deviate from a scheduledappointment, for example, by walking to a store, thereby delaying theuser's arrival at her house, the washer may be instructed to adjust acycle based on the newly determined arrival time. A priori the washermay not predict or know that the destination of the user is the store.However, as the user's location is constantly or intermittentlytransmitted, a new estimated arrival time (e.g., the time at which theuser may next interact with the appliance) for the user may be estimatedin real time.

A feature may be dynamically modified in response to usage of ahousehold fixture. For example, a water temperature sensor and flow ratesensor connected to the hot and cold plumbing lines for a shower maydetect the temperature and water pressure for the shower respectively.Similar sensors may be connected to the plumbing for the dishwasher.According to an implementation, the start of the dishwashing cycle maybe delayed if the shower is in use. A dishwashing cycle may be sloweddown until use of the shower is no longer detected. For example, thedishwasher's rinse cycle may be extended or the dishwasher may beinstructed to delay proceeding to a subsequent phase of the cycle.

In some implementations, sensor data or other information about thefirst appliance, such as its estimated time until completion, may beused to modify a cycle or feature of a second appliance. The secondappliance may be synchronized to the first appliance. For example, ifthe dryer has been instructed to delay its completion time for an hour,a washer may be instructed that the dryer will require an additionalhour and the cycle of the washer may be modified accordingly. A featureof the second appliance may, therefore, be dynamically modified inresponse to the sensor data or other information received regarding thefirst appliance to synchronize the second appliance to the firstappliance. Appliances may also be synchronized independently. Forexample, the washer and dryer may both be instructed to delay completionof their respective cycles for an hour. In some cases, the determinationand instruction regarding delay of the cycles may be made by a centralsystem, such as a home automation system or the like.

A notice may be sent to the user to update the user regarding the statusof one or more appliances or to provide the user with an option tomodify the status of one or more appliances. The notice may containstatus information such as an expected finish time, an expected starttime, a cycle status (e.g., rinse phase), or a cycle position (e.g.,display the phases of a cycle complete and those left to complete).Similarly, a user may request the status of one or appliances or modifya feature thereof using an application, a web browser, or othercommunication mechanism. For example, a user may make a status requestto a dryer which may provide a notice indicating whether or not it hascompleted its cycle. The user may, for example, use an application toinstruct the dryer to delay the timing of its completion for an hour orany other time increment. The dryer may respond to the request to delaycompletion of a cycle with a subsequent notice to the user. A user mayalso remotely start a cycle of an appliance. For example, the user mayinstruct a dishwasher to begin a cycle to wash dishes loaded therein.

Data may be processed and distributed according to any of theimplementations disclosed herein by a central device, such as a homeautomation system, a cloud-based management system, or the like. Thedevice may receive data in real time regarding one or more appliances.The central device may also receive and/or request data from externalsensors, other computing devices such as a website indicating the priceof water, gas, or weather patterns, or user input data. It may providedata or updated information to one or more appliances based on theinformation it receives.

In an implementation, a system is provided that includes a centralcontroller. The controller may be configured to obtain sensor data froma sensor that indicates a state of an appliance as previously disclosed.The central controller may be physically connected to the firstappliance or connected to the first appliance by a network. A user'slocation may be determined, for example, based on an electronicallyprovided schedule, GPS coordinates of a device the user carries,triangulation data, or the like. The controller may be configured toobtain characteristics of one or more appliances. Based upon the userlocation and the sensor data, the central controller may determine aschedule indicating when the user will desire a state change of thefirst appliance, at which point a feature of the first appliance may bedynamically modified to cause the first appliance to operate accordingto the schedule. The controller may also be configured to send a noticeto the user. The notice may include, for example, status informationabout the first appliance.

An example of a central device 490 connected to multiple appliances 480,sensors 442, 444, and a remote database 446 is shown in FIG. 4. Thecentral device 490 may be responsible for coordinating the activities ofthe various appliances shown or in use 480 with the user's schedule. Thecentral device may be stand-alone device that a user configures and hasaccess to in the household. As shown in FIG. 4, the oven 400, washer402, dryer 404, coffee maker 406, and dishwasher 408 may be connected tothe central device 490 by a variety of mechanisms including, but notlimited to a network cable, a wireless protocol such as Bluetooth, or bypower lines. For example, data may be communicated along copper wiresthat carry current for standard power outlets. The communication module410 may receive incoming data or transmit data. The central device 490contains a variety of modules 410, 420, 430, 450, storage 440, and aprocessor 460 that are interconnected by a system bus 470. The modules410, 420, 430, 450, may exist either as hardware or software accordingto any of the implementations disclosed herein.

The communication module 410 may receive data from one or more of theappliances 480 connected to the central device 490. The data may includecharacteristic data such as the make, model, year, and/or manufacturerof the one or more appliances 480. Generally, when a user first plugs ina new appliance or connects the appliance to the central device 490,characteristic data may be sent to the central device 490. The data maybe used to generate a profile of for the appliance 480. A profile may bestored in the storage component 340 of the central device 490 or in aremote database 446.

Sensor data may be provided to the central device 490 or to a remotedatabase 446. As shown in FIG. 4, the data may be sent to the centraldevice 490. However, the data may be sent to a central device 490 and/orprocessed by a remote database or service 446. The remote database 446or service may send the data to the central device. In some instances,one or more sensors may be internal to an appliance 480. The washer 402and dryer 404 each have an external sensor 403, 405 that is connected tothem. For example, the washer 402 may be plugged into a wall outlet thathas a watt/volt meter attached to it. The sensor data from the watt/voltmeter may be provided to the washer, for example, and sent by the washerto the central device, or it may be provided directly to the centraldevice by the meter. Other sensors 442, 444 may be unrelated orunconnected to a specific appliance 480 and may send sensor data to thecentral device 490 or a remote database 446 in communication with thecentral device 490. For example, a sensor 442, 444 may determine theoutside temperature, electrical load for a residence, water pressure,volume of water in a hot water tank, ambient room temperature, humidity,GPS location of user's device, etc. Sensor data, whether provided by anappliance 480, an external sensor 442, 444, or a remote database 446 orrelayed by an appliance 480, may be stored to the storage component 440of the central device 490.

The processor 460 may determine a user's schedule by communicating, forexample, with the user's online calendar, a GPS transceiver of a mobiledevice (e.g., smartphone or a laptop), or the like. The user may permitGPS coordinates of the mobile device to be sent to the central device.GPS coordinates may be maintained in the schedule module 430 and used todetermine the user's schedule. For example, the distance between theuser's location based on the GPS coordinates and the user's homelocation may be determined by the central device 490. The user's homelocation may be manually input into the central device or it may bebased on determining the location where the user's GPS-enabled devicespends the most time. The user's distance from this “home” location maythen be used to determine or estimate a time or window during which theuser is expected to return to the home location. The user's determinedschedule may be maintained in the storage component 440 or in a remotedatabase 446. For example, a user may link a mobile device to thecentral device.

The schedule module 430 may maintain information on the status of eachappliance 480 connected to the central device 490 or providing suchinformation to a remote database 446 that is in communication with thecentral device 490. For example, the schedule module 430 may determinethat the phase of a cycle that the washer 402, dryer 404, or dishwasher408 is in. It may determine whether or not the oven 400 is on and, ifso, for how long and at what temperature. The schedule module 430 mayalso determine whether or not other household fixtures, such as ashower, a water heater, a furnace, are in use. Similarly, the schedulemodule 430 may determine if any timers have been set for any of theappliances 480. As stated earlier, although energy efficiency may beconsidered in determining the modification of a feature of an appliance,the user's schedule may be paramount even if it is detrimental to theenergy efficiency (e.g., power consumption) of one or more appliances480.

In the event that a timer for an appliance 480 has been set or that acycle is about to start or end the scheduling module 430 may transmitsuch information to the notice module 450. The notice module 450 maythen generate a notice based on the information received. For example,if the dryer 404 is about to finish drying a load of clothes, a noticemay be generated that states, “Dryer finished.” The generated notice maybe sent to the control module 420. A user may also be provided with aninterface to control or monitor the status of one or more appliances 480connected to the central device 490. The interface may be web orapplication based, for example. The application may be provided withinformation about the appliances 480 by the control module 420. It mayallow the user to have control over various functions of one or moreappliances 480 or configure the central device 490 remotely. Forexample, a user may desire to begin preheating an oven twenty minutesbefore the user's arrival home. The user may set a specific time tobegin the preheating the oven 400 or the user may configure the centraldevice 490 to preheat the oven 400 when the user is twenty minutes fromhome as determined by a GPS transceiver in her mobile phone.

The control module 420 may coordinate data received and transmitted viathe communications module 410 as well as the schedule module 430. Forexample, the control module 430 may route data received from a remotedatabase 446 to the appropriate module. It may communicate informationbetween modules. For example, once a notice has been sent to the userregarding the status of an appliance 480, the control module 420 mayinform the notice module 450 of the action taken. The control module 420may also receive user preferences. For example, the user may indicatethat the user would like a status update on every active appliance 480every hour. Preferences may be provided to the central device 490 by,for example, a web page entry or by entering a preference into anappliance 480.

Implementations disclosed herein refer to a single user, however, theyare not so limited. The central device, for example, may determine,update, and store the schedules of multiple users and each user may havea set of individual preferences. For example, a first user may not beassociated with the washer and dryer appliances. That user may,therefore, not receive updates as to the status of the appliance sent bythe central device unless the user queries the system for suchinformation. The central device may also ignore that user's schedule forthe purpose of synchronizing the user's schedule with the washer anddryer. The user, however, may be associated with other appliances in thehousehold and receive updates regarding those appliances, and the systemmay consider the user's schedule in adjusting a cycle of one or more ofthose appliances.

In situations in which the systems or central device discussed herecollect personal information about users, or may make use of personalinformation, the users may be provided with an opportunity to controlwhether programs or features collect user information (e.g., informationabout a user's social network, social actions or activities, profession,a user's preferences, schedule, location, calendar, or a user's currentlocation), or to control whether and/or how to receive content from thecontent server that may be more relevant to the user. In addition,certain data may be treated in one or more ways before it is stored orused, so that personally identifiable information is removed. Forexample, a user's identity may be treated so that no personallyidentifiable information can be determined for the user, or a user'sgeographic location may be generalized where location information isobtained (such as to a city, ZIP code, or state level), so that aparticular location of a user cannot be determined. Thus, the user mayhave control over how information is collected about the user and usedby a central device or system according to any of the implementationsdisclosed herein.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific implementations. However, theillustrative discussions above are not intended to be exhaustive or tolimit implementations of the disclosed subject matter to the preciseforms disclosed. Many modifications and variations are possible in viewof the above teachings. The implementations were chosen and described inorder to explain the principles of implementations of the disclosedsubject matter and their practical applications, to thereby enableothers skilled in the art to utilize those implementations as well asvarious implementations with various modifications as may be suited tothe particular use contemplated.

1. A method comprising: obtaining sensor data from a sensor, the sensordata indicating a state of a first appliance; determining a userlocation; obtaining a first characteristic of the first appliance; basedupon the user location and the sensor data, determining a scheduleindicating when the user will desire a state change of the firstappliance; and dynamically modifying a feature of the first appliance tocause the first appliance to operate according to the schedule.